#include "stdafx.h"
#include "stdio.h"
#include "InterMotion.h"
#include "InterKinectV2.h"

static char* strInfo = "Kinect_V2 Driver R1.0";
InterKinectV2* pKinectV2 = nullptr;

TAMI_API void MotionDriver_Info(char* pInfo)
{
	if (pInfo)
		strcpy_s(pInfo, MAX_PATH,strInfo);
}

TAMI_API bool MotionDriver_Init(int nIndex, CB_TAMI_MOTION pFunc)
{
	printf("MotionDriver_Init: %d\n", nIndex);
	if ( !pKinectV2 )
	{
		pKinectV2 = new InterKinectV2();
		if(pFunc)
			pKinectV2->m_cb_motion = pFunc;
		return pKinectV2->Init(nIndex);
	}
	return true;
}

TAMI_API bool MotionDriver_GetData(std::list< std::shared_ptr<Tami_MotionData> >& pDataList)
{
	if ( pKinectV2 )
	{
		pKinectV2->GetData(pDataList);
	}
	return false;
}

TAMI_API void MotionDriver_SetState(bool bPause)
{
	if ( pKinectV2 )
	{
		pKinectV2->m_bPause = bPause;
	}
}

TAMI_API bool MotionDriver_State()
{
	if (pKinectV2)
	{
		return pKinectV2->m_bPause;
	}
	return false;
}

TAMI_API void MotionDriver_Exit()
{
	if (pKinectV2)
	{
		pKinectV2->m_bExit = true;
	}
}
